package com.ruoyi.fetv.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.aspect.annotation.Dict;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 资讯对象 fetv_information
 *
 * @author Jack
 * @date 2023-03-07
 */
@ApiModel(value = "FetvInformation", description = "资讯对象fetv_information")
@Data
@Getter
public class FetvInformation extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", required = true)
    private Long id;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题", required = true)
    @Excel(name = "标题")
    private String title;

    /**
     * navigation_context的id
     */
    @ApiModelProperty(value = "来源", required = true)
    @Excel(name = "来源")
    private String comeFrom;

    /**
     * 是否主菜
     */
    @ApiModelProperty(value = "是否主菜", required = true)
    @Excel(name = "是否主菜")
    @Dict("fetv_no_yes")
    private Long isPrimary;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序", required = true)
    @Excel(name = "排序")
    private Long sort;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标", required = true)
    @Excel(name = "图标")
    private String icon;


    /**
     * 审核状态（0待审核 1通过 2不通过）
     */
    @ApiModelProperty(value = "审核状态（0待审核1通过2不通过）", required = true)
    @Excel(name = "审核状态", readConverterExp = "0=待审核,1=通过,2=不通过")
    @Dict("fetv_audit_status")
    private String auditStatus;

    /**
     * 资讯类别(字典）
     */
    @ApiModelProperty(value = "资讯类别(字典）", required = true)
    @Excel(name = "资讯类别(字典）")
    @Dict("fetv_information_category")
    private Long informationCategory;

    /**
     * 略缩图
     */
    @ApiModelProperty(value = "略缩图", required = true)
    @Excel(name = "略缩图")
    private String slightlyThumbnail;

    /**
     * 资讯栏目id
     */
    @ApiModelProperty(value = "资讯栏目id", required = true)
    @Excel(name = "资讯栏目id")
    @Dict("fetv_navigation_context:id:navigation_name")
    private Long navigationContextId;

    /**
     * 是否推荐(0 否 1是)
     */
    @ApiModelProperty(value = "是否推荐(0否1是)", required = true)
    @Excel(name = "是否推荐(0 否 1是)")
    @Dict("fetv_no_yes")
    private Long isRecommend;

    /**
     * 是否轮播推荐
     */
    @ApiModelProperty(value = "是否轮播推荐", required = true)
    @Excel(name = "是否轮播推荐")
    @Dict("fetv_no_yes")
    private Long isCarouselRecommend;

    /**
     * 是否置顶
     */
    @ApiModelProperty(value = "是否置顶", required = true)
    @Excel(name = "是否置顶")
    @Dict("fetv_no_yes")
    private Long isTop;

    /**
     * 所属高校ID
     */
    @ApiModelProperty(value = "所属高校ID", required = true)
    @Excel(name = "所属高校ID")
    @Dict("fetv_school:id:school_name")
    private Long schoolId;

    /**
     * 收藏数
     */
    @ApiModelProperty(value = "收藏数", required = true)
    @Excel(name = "收藏数")
    private Long collections;

    /**
     * 评论数
     */
    @ApiModelProperty(value = "评论数", required = true)
    @Excel(name = "评论数")
    private Long comments;

    /**
     * 点赞数
     */
    @ApiModelProperty(value = "点赞数", required = true)
    @Excel(name = "点赞数")
    private Long likes;

    /**
     * 是否搜索推荐
     */
    @ApiModelProperty(value = "是否搜索推荐", required = true)
    @Excel(name = "是否搜索推荐")
    @Dict("fetv_no_yes")
    private Long isSearchRecommend;

    /**
     * 踩一踩数
     */
    @ApiModelProperty(value = "踩一踩数", required = true)
    @Excel(name = "踩一踩数")
    private Long stepOnIt;

    /**
     * 标签ids（字典）
     */
    @ApiModelProperty(value = "标签）", required = true)
    @Excel(name = "标签")
    private String labels;

    /**
     * 状态（0正常 1停用）
     */
    @ApiModelProperty(value = "状态（0正常1停用）", required = true)
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    @Dict("fetv_yes_no")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @ApiModelProperty(value = "删除标志（0代表存在2代表删除）", required = true)
    private String delFlag;

    /**内容  */
    @ApiModelProperty(value = "内容", required = true)
    @Excel(name = "内容")
    private String content;
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("comeFrom", getComeFrom())
                .append("isPrimary", getIsPrimary())
                .append("sort", getSort())
                .append("icon", getIcon())
                .append("auditStatus", getAuditStatus())
                .append("informationCategory", getInformationCategory())
                .append("slightlyThumbnail", getSlightlyThumbnail())
                .append("navigationContextId", getNavigationContextId())
                .append("isRecommend", getIsRecommend())
                .append("isCarouselRecommend", getIsCarouselRecommend())
                .append("isTop", getIsTop())
                .append("schoolId", getSchoolId())
                .append("collections", getCollections())
                .append("comments", getComments())
                .append("likes", getLikes())
                .append("isSearchRecommend", getIsSearchRecommend())
                .append("stepOnIt", getStepOnIt())
                .append("labels", getLabels())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("content",getContent())
                .toString();
    }
}
